Python入门教程1 环境搭建、断点调试



Python 简介

Python创始人: Guido van Rossum是一个叫Monty Python的喜剧团体的爱好者。作者前身也是C++程序员,之前也参加设计了一种叫ABC的教学语言,就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的,相对封闭的开发语言、扩展性、推广性相对不太成功。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

目前 Python 2.7 已经停止维护,教程中语法均基于 Python3。

安装 Python

Python 支持 Windows、Linux 和 Mac OS X,这些系统自带安装包,不需要再配置环境变量。 https://www.python.org/downloads/

安装完成后,运行 python --version 查看版本

python --version
Python 3.7.1

断点调试

目前 vscode 已经完全支持单步调试python项目。

安装插件

创建一个名叫 hello.py 的文件,然后用 vscode 打开,会自动提示您,安装 python 支持插件。也可自行到 Extension Marketplace 搜索 python 安装,安装第一个即可。

python_vscode.png

写入文件代码

print("Hello, World!")

基本调试

基本调试非常简单,在VSCODE中点击DEUBG选项页,然后点击"Run and Debug",选择调试打开的python文件。

python_debug.png

即可进入设置的断点。

命令行进程附加调试

进程附加是一种比较通用的调试方式,几乎所有语言都支持,比较适合无法从IDE启动或复杂性较高的项目。基本原理为先从命令行以调试模式启动python,然后将vscode附加到python进程,进行debug

安装 debugpy

pip install debugpy

命令行启动python项目,这里设置python与vscode通过5678端口进行通信:

python -m debugpy --listen 0.0.0.0:5678 ./hello.py

python_debugpy.png

成功输出,代表debug模式启动成功

vscode单步调试

  1. 创建 launch.json: 在项目文件夹,创建 .vscode/launch.json 调试启动文件,指定为 python的attach进程附加模式
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Attach",
            "type": "python",
            "request": "attach",
            "connect": {
              "host": "localhost",
              "port": 5678
            }
        }
    ]
}
  1. 原来的 hello.py 执行很快,为了能等待进入调试线程,我们设置等待读取用户输入任何字符再继续运行,代码如下:
str = input("Enter any key to continue: ");
print("Hello, World!", str)
  1. 在 terminal 或命令行中以debugpy 模式启动 hello.py

···
python -m debugpy --listen 0.0.0.0:5678 ./hello.py
···
4. 设制一个断点,并点击vscode上的debug

即可进入debug模式,我们这里断点设在了第二行,用户输入任意字符后即可进入

python_debug_vscode.png


下一篇: 2 基础语法,读取用户输入,字符串分割成数组